pricing(marketing): Pro storage bump + Team coming soon + hide Hobby Plus#79
Merged
Merged
Conversation
Adds a fourth "Why agents like us" card on /for-agents covering the idempotency contract that's now live on every create endpoint: - 04 · safe retries on every create — names the Idempotency-Key header (24h exactly-once), the body-fingerprint fallback (120s scope+route+ canonical-body), and the X-Idempotent-Replay: true response header. Widens the reasons grid from 3 to 4 columns with a two-column mid breakpoint (≤1180px) and single-column mobile breakpoint (≤640px) so the new card lays out cleanly across viewports. DocsPage.tsx is intentionally untouched — it auto-renders from content/docs/*.md, so the new docs/idempotency.md in the paired content PR will appear in the sidebar TOC and body without a code change here. PricingPage.tsx is intentionally untouched — pricing didn't change. Backfills InstaNode-dev/api#111 (server-side dedup on /api/v1/billing/checkout) and #112 (Idempotency middleware on all create endpoints with body-fingerprint fallback). docs/marketing copy only, no code change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…Plus
Three coordinated user-visible changes:
1) Pro headline storage bumped to match plans.yaml:
10 GB Postgres / 512 MB Redis / 5 GB Mongo / 50 GB object.
Updates PricingPage matrix, MarketingPage homepage card,
PricingGrid (dashboard upsell surface), and upgradeCopy.
2) Team tier is "coming soon" only — no price, no feature list,
no CTA on either /pricing or the homepage. We don't publish
capacity numbers for an unlaunched tier.
3) Hobby Plus removed from the public marketing surfaces:
- PricingPage TIERS dropped from 5 → 4 columns (Anonymous /
Hobby / Pro / Team).
- MarketingPage homepage no longer renders the Hobby Plus
card.
- PricingGrid (dashboard upsell surface) keeps Hobby Plus —
it's the internal upsell step from Hobby, just removed
from outbound funnels.
api/plans.yaml (10/512/5/50 for Pro) is the source of truth.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three coordinated user-visible changes on
/pricingand/:10 GB Postgres / 512 MB Redis / 5 GB Mongo / 50 GB object. Same $49/mo.
either /pricing or the homepage. We don't publish capacity numbers for
an unlaunched tier.
in plans.yaml and remains the internal upsell step from Hobby (dashboard
PricingGrid + quota_wall / custom_domain prompts) — just no longer in
outbound funnels.
Defensive rationale: PRICING-AUDIT-2026-05-15.md found Pro was being
out-priced 1:2 against Supabase Pro ($25 / 8 GB PG / 100 GB object).
This brings the headline storage to within striking distance while
keeping the $49 price.
Test plan
🤖 Generated with Claude Code